package com.ynet.middleground.user.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.util.Date;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 组织部门表
 * </p>
 *
 * @author Wangxz
 * @since 2019-11-06
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("ur_organizational_structure")
public class OrganizationalStructure extends Model<OrganizationalStructure> {

    private static final long serialVersionUID = 1L;

    /**
     * 机构/部门id
     */
    @TableId(value = "organizational_id")
    private Integer organizationalId;

    /**
     * 业务流水号
     */
    private String businessSeqNo;

    /**
     * 父类id
     */
    private Integer parentId;

    /**
     * 类型(机构、部门)0-机构，1-部门
     */
    private String organizationalType;

    /**
     * 机构/部门编码
     */
    private String organizationalCode;

    /**
     * 机构/部门名称
     */
    private String organizationalName;

    /**
     * 负责人
     */
    private String responsiblePerson;

    /**
     * 联系地址(机构必填)
     */
    private String contactAddress;

    /**
     * 邮政编码
     */
    private String postalCode;

    /**
     * 是否可用(必填)，0-可用，1-不可用
     */
    private String flag;

    /**
     * 电话
     */
    private String phone;

    /**
     * 传真
     */
    private String facsimile;

    /**
     * 邮箱
     */
    private String email;

    /**
     * 备注
     */
    private String remark;

    /**
     * 渠道
     */
    private String channel;
    
    /**
     * 山港易付id
     */
    private String sgyfId;

    /**
     * 排序字段
     */
    private Integer sortNumber;

    /**
     * 创建时间
     */
    private LocalDateTime gmtCreate;

    /**
     * 创建人
     */
    private Integer createBy;

    /**
     * 修改时间
     */
    private LocalDateTime gmtModified;

    /**
     * 修改人
     */
    private Integer modifiedBy;

    /**
     * 证件种类,00-统一社会信用代码,01-组织机构代码证,营业执照,税务登记证,04-身份证,05-护照，06-香港通行证，07-澳门通行证，08-台湾居民来往大陆通行证
     */
    private String papersType;

    /**
     * 证件编号，若证件种类为00则为社会统一信用代码
     */
    private String papersNo;
    
    /**
     * 统一社会信用代码有效期起
     */
    private Date cerSdate;

    /**
     * 统一社会信用代码有效期止
     */
    private Date cerEdate;

    /**
     * 营业执照编号
     */
    private String bussinessLicenseNo;

    /**
     * 营业执照有效期起
     */
    private Date bussinessLicenseNoSdate;

    /**
     * 营业执照有效期止
     */
    private Date bussinessLicenseNoEdate;

    /**
     * 税务登记证编号
     */
    private String taxRegistrationNo;

    /**
     * 税务登记证有效期起
     */
    private Date taxRegistrationNoSdate;

    /**
     * 税务登记证有效期止
     */
    private Date taxRegistrationNoEdate;
    

    @Override
    protected Serializable pkVal() {
        return this.organizationalId;
    }

}
